/**
 * Copyright (c) 2019-2029, wwww.kiwipeach.cn (liuburu@qq.com).
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * <p>
 * https://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package cn.kiwipeach.blog.mapper;

import cn.kiwipeach.blog.domain.BlogCommentVO;
import cn.kiwipeach.blog.generator.domain.CommentReply;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 评论 Mapper 接口
 *
 * @author kiwipeach
 * @since 1.0
 */
public interface CustomCommentReplyMapper extends BaseMapper<CommentReply> {

    /**
     * 查询单条博客的详情信息
     *
     * @param commentReplyId 评论或回复ID
     * @return 返回博客评论详情信息
     */
    BlogCommentVO selectCommenReplyById(@Param("commentReplyId") String commentReplyId);


    /**
     * 分页查询博客的评论信息
     *
     * @param page         分页入参
     * @param parentId     父节点信息
     * @param commentTypes 查询类型集合
     * @return 返回分页评论信息
     */
    List<BlogCommentVO> selectCommenByPage(IPage<BlogCommentVO> page,
                                           @Param("parentId") String parentId,
                                           @Param("commentTypes") List<String> commentTypes);

    /**
     * 更新评论回复的点赞数量
     *
     * @param commentId 评论对象
     * @return 返回更新记录行数
     */
    Integer updateCommentStarCount(@Param("commentId") String commentId);

}
